package com.java.oop;

//这样导入后可以直接使用system下的静态方法，如out.println()
import static java.lang.System.*;

/**
 * @author Lenl
 * @create 2021-05-29 10:21
 * this关键字的使用
 * 1.this可以修饰属性、方法、构造器
 *
 * 2.this修饰属性和方法，this指的是当前对象
 *
 *  类的构造器中也可以使用this.属性或this.方法，调用当前创建的对象的属性或方法
 *
 * 3.this调用构造器
 *   不能调用自己
 *   this(形参列表)调用构造器必须在当前构造器首行！
 *
 */
public class ThisUse {
    public static void main(String[] args) {
        ThisPerson tp=new ThisPerson("Tom",21);
        out.println(tp.getName()+"-"+tp.getAge());
    }
}

class ThisPerson{
    private String name;
    private int age;

    public ThisPerson(){

    }
    public ThisPerson(String name){
        this();//调用构造器
        this.name=name;
    }
    public ThisPerson(int age){
        this.age=age;
    }
    public ThisPerson(String name,int age){
        this(age);//调用构造器
        this.name=name;
    }

    public void setName(String name){
        this.name=name;
    }
    public String getName(){
        return this.name;
    }
    public void setAge(int age){
        this.age=age;
    }
    public int getAge(){
        return this.age;
    }
}

class ConTest{
    private String name;
    private int age;

    //alt+insert快速插入构造器
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}